/****************************************************************************
 * Copyright (C) 2025 Chenyz. All rights reserved.
 *
 * @file    TinyOS_Hook.h
 *
 * @par     dependencies
 *          - stdint.h (Standard integer types)
 *          - TinyOS_Types.h (Type definitions)
 *
 * @author  Chenyz
 *
 * @brief   System Hook Functions Header
 *          This file provides declarations for system hook functions in TinyOS,
 *          allowing application-level customization of system behavior:
 *          - CPU idle state monitoring hooks
 *          - System tick event hooks
 *          - Task switching observation hooks
 *          - Task initialization monitoring hooks
 *
 * @version V1.0
 * @date    2025-10-03
 *
 * @note    Hook functions are conditionally compiled and can be overridden
 *          by application code for custom system behavior monitoring.
 ****************************************************************************/

#ifndef __TINYOS_HOOK_H__
#define __TINYOS_HOOK_H__

/******************************** Includes **********************************/
#include <stdint.h>
#include "TinyOS_Types.h"

/*************************** Function Declarations **************************/

/* System hook functions */
void TinyOS_HookCpuIdle(void);
void TinyOS_HookSystick(void);
void TinyOS_HookTaskSwitch(TinyOS_TaskType* From, TinyOS_TaskType* To);
void TinyOS_HookTaskInit(TinyOS_TaskType* Task);

#endif /* __TINYOS_HOOK_H__ */

